// subHoliday/root/MenuSetting/MenuSetting.js
import Notify from '@vant/weapp/notify/notify';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    key_value: null,
    menuList: [],
    page: {
      pageSize: 5,
      pageNum: 0,
      totalCount: 0
    },
    loading: false
  },
  to_menu_opt() {
    wx.navigateTo({
      url: '/subHoliday/root/addMenu/optMenu',
    })
  },
  // 获取菜单列表
  async getAllMenuList() {
    this.setData({
      loading: true
    })
    wx.showLoading({
      title: '数据加载中',
    })
    try {
      this.data.page.pageNum += 1
      const json = await getApp().$axios("/getAllMenu", "POST", this.data.page)
      wx.hideLoading()
      if (json.status !== 200) {
        wx.showToast({
          title: json.data,
          icon: 'error'
        })
        return
      }
      this.setData({
        menuList: [...this.data.menuList, ...json.data],
        page: json.page,
        loading: false
      })
    } catch (error) {
      wx.showToast({
        title: error.msg,
        icon: 'error'
      })
    }

  },
  // 禁用
  async disable(e) {
    console.log(e.currentTarget.dataset.id);
    const id = e.currentTarget.dataset.id;
    try {
      const res = await getApp().$axios("/stopMenu", "POST", {
        id
      })
      if (res.status !== 200) {
        wx.showToast({
          title: res.data,
          icon: 'none'
        })
        return
      }

      this.setData({
        page: {
          pageNum: 0,
          pageSize: this.data.menuList.length
        },
        menuList: []
      })
      this.getAllMenuList()
      wx.showToast({
        title: res.data,
      })
    } catch (error) {
      wx.showToast({
        title: error.msg,
        icon: 'error'
      })
    }
  },
  // 启用
  async enable(e) {
    console.log(e.currentTarget.dataset.id);
    const id = e.currentTarget.dataset.id;

  },
  // 去修改
  async update(e) {
    console.log(e.currentTarget.dataset.id);
    const id = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: '/subHoliday/root/addMenu/optMenu?id='+id,
    })
  },
  // keywordChange收集搜索框
  keywordChange(e) {
    let keyword = e.detail;
    this.setData({
      key_value: keyword
    })
  },
  // onCancel取消搜索框
  onCancel() {
    this.setData({
      key_value: null,
      page: {
        pageSize: 5,
        pageNum: 0,
        totalCount: 0
      }
    })
    this.getAllMenuList()
  },
  // onSearch发请求搜索
  async onSearch() {
    try {
      const json = await getApp().$axios("/getMenuByKeyWord", "POST", {
        keyword: this.data.key_value
      })
      if (json.status !== 200) {
        wx.showToast({
          title: json.data,
          icon: 'error'
        })
        return
      }
      this.setData({
        menuList: json.data
      })
    } catch (error) {
      wx.showToast({
        title: error.msg,
        icon: 'error'
      })
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 主要通知
    Notify({
      type: 'primary',
      message: '欢迎管理员,请谨慎修改！',
      // safeAreaInsetTop: true
    });

  },
  // 下拉触底
  onScrollToLower() {
    if (!this.data.loading && this.data.page.pageNum * this.data.page.pageSize <= this.data.page.totalCount && (this.data.key_value == null || this.data.key_value == "")) {
      console.log("到底部了");
      this.getAllMenuList()
    }
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.getAllMenuList()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.setData({
      page: {
        pageNum: 0,
        pageSize: 5
      }
    })
    this.getAllMenuList()
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    console.log("最下面");
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})